import type { Get } from '../client'
import type { SuccessData } from '../types'

export type ReportModel = {
  id: number
  student: string
  classID: number
  experimentID: number
  score: number
  status: number
  content: string
}

type ResReport = 'reports'

type GetReportReportQueryKey = [Get, ResReport, number]
type GetReportData = SuccessData<ReportModel>

type SearchReportPayload = Partial<Omit<ReportModel, 'content' | 'score'>>
type SearchReportQueryKey = [Get, ResReport, SearchReportPayload]
type SearchReportData = SuccessData<Omit<ReportModel, 'content'>[]>

export type { GetReportData, GetReportReportQueryKey, SearchReportData, SearchReportQueryKey }
